package com.systop.asset.entity;


import java.util.ArrayList;
import java.util.List;

/**
 * 组织架构部门信息对象 departments
 * 
 * @author lsp
 * @date 2025-06-26
 */
public class Department extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 部门ID */
    private Long id;

    /** 部门编码 */
    // (name = "部门编码")
    private String deptCode;

    /** 部门名称 */
    // (name = "部门名称")
    private String deptName;

    /** 上级部门ID 0为根节点 */
    // (name = "上级部门ID 0为根节点")
    private Long parentId;

    /** 部门层级 */
    // (name = "部门层级")
    private Long level;

    /** 部门路径 0-1-2 */
    // (name = "部门路径 0-1-2")
    private String path;

    /** 部门负责人ID */
    // (name = "部门负责人ID")
    private Long managerId;
    /** 部门名称 */
    // (name = "部门名称")
    private String managerName;
    /** 联系电话 */
    // (name = "联系电话")
    private String contact;

    /** 状态 1-启用 2-停用 */
    // (name = "状态 1-启用 2-停用")
    private Long status;
    private List<Department> children = new ArrayList<>();

    public List<Department> getChildren() {
        return children;
    }

    public void setChildren(List<Department> children) {
        this.children = children;
    }

    // 添加子部门
    public void addChild(Department child) {
        this.children.add(child);
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeptCode(String deptCode) 
    {
        this.deptCode = deptCode;
    }

    public String getDeptCode() 
    {
        return deptCode;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setLevel(Long level) 
    {
        this.level = level;
    }

    public Long getLevel() 
    {
        return level;
    }
    public void setPath(String path) 
    {
        this.path = path;
    }

    public String getPath() 
    {
        return path;
    }
    public void setManagerId(Long managerId) 
    {
        this.managerId = managerId;
    }

    public Long getManagerId() 
    {
        return managerId;
    }
    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public String getManagerName() {
        return managerName;
    }

    public void setManagerName(String managerName) {
        this.managerName = managerName;
    }
}
